package com.zhiyou.mapper;

import java.util.List;

import com.zhiyou.model.Like;
import com.zhiyou.model.Share;
import com.zhiyou.model.ShareImg;

public interface ShareMapper {

	/**
	 *  添加一条朋友圈记录，返回该主键id
	 * @param share
	 * @return
	 */
	int addShare(Share share);

	/**
	 * 插入点赞记录
	 * @param like
	 */
	void addLike(Like like);

	/**
	 * 插入说说图片
	 * @param shareImg
	 */
	void addShareImg(ShareImg shareImg);

	/**
	 * 根据登录人的id（老师）查询的所有的说说
	 * @param id
	 * @return
	 */
	List<Share> selectAll(int id);

	/**
	 * 根据登录人的id（家长）查询的所有的说说
	 * @param id
	 * @return
	 */
	List<Share> selectAllByPar_id(int id);

	/**
	 * 根据朋友圈的id查询的说说的详细信息
	 * @param id
	 * @return
	 */
	Share selectShareById(int id);

	/**
	 *  根据朋友圈的id查询的点赞的信息
	 * @param id
	 * @return
	 */
	List<Like> selectLikeById(int id);

	/**
	 *  根据朋友圈的id查询的说说图片的信息
	 * @param id
	 * @return
	 */
	List<ShareImg> selectImgById(int id);

	/**
	 * 根据说说的id来删除该说说
	 * @param id
	 */
	void deleteShare(int id);

	/**
	 * 根据说说的id来删除该说说的图片
	 * @param id
	 */
	void deleteShareImg(int id);

	/**
	 *  根据说说的id来删除该说说的点赞人的信息
	 * @param id
	 */
	void deleteLike(int id);

	/**
	 * 点赞，更改说说的点赞数量
	 * @param share
	 */
	void update(Share share);
	/**
	 * 根据说说的id来批量删除说说
	 * @param id
	 */
	void deleteShareAll(int[] ids);

	/**
	 * 根据说说的id来批量删除对应说说的图片
	 * @param id
	 */
	void deleteShareImgAll(int[] ids);

	/**
	 *  根据说说的id来批量删除对应说说的点赞人的信息
	 * @param id
	 */
	void deleteLikeAll(int[] ids);

}
